﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data;
using System.Windows.Forms;
using System.Drawing;
using System.Text.RegularExpressions;
using System.Data.SqlClient;

namespace FrbaCommerce
{
    public class Funcionalidad
    {
        public int id { get; set; }
        public string descripcion { get; set; }

        public List<Funcionalidad> buscarFuncionalidadesDeRol(int id_rol)
        {
            List<Funcionalidad> funciones = new List<Funcionalidad>();
            string query = "SELECT Func.id, Func.descripcion from ASDF.Funcion_rol as F";
            query += " JOIN ASDF.Rol AS R ON F.rol = R.id ";
            query += " JOIN ASDF.Funcionalidad AS Func ON F.funcionalidad = Func.id";
            query += " WHERE R.id = " + id_rol + " ";
            ConexionSql conexionSql = new ConexionSql();
            DataSet datos = new DataSet();
            datos = conexionSql.ejecutarConsulta(query);
            foreach (DataRow fila in datos.Tables[0].Rows)
            {
                funciones.Add(this.cargarFuncionalidades(fila));
            }

            return funciones;
        }
       

        public int ObtenerID (string descripcion)
        {
            int id;
            ConexionSql conexionSql = new ConexionSql();
            DataSet datos = new DataSet();
            string query = " SELECT id FROM ASDF.Funcionalidad WHERE descripcion = '" + descripcion + "' ";
            datos = conexionSql.ejecutarConsulta(query);
            DataRow fila = datos.Tables[0].Rows[0];
            id = Convert.ToInt32(fila.ItemArray[0].ToString());
            return id;
        }

        public void CargarComboFuncionalidad(ComboBox cmbFuncion)
        {
            string query = "SELECT descripcion FROM ASDF.Funcionalidad ";
            ConexionSql conexionSql = new ConexionSql();
            DataSet datos = new DataSet();
            datos = conexionSql.ejecutarConsulta(query);
            cmbFuncion.DataSource = null;
            foreach (DataRow dataRow in datos.Tables[0].Rows)
            {
                cmbFuncion.Items.Add(dataRow[0]);
            }             
        }
        
        private Funcionalidad cargarFuncionalidades(DataRow fila)
        {
            Funcionalidad funcion = new Funcionalidad();
            funcion.id = Convert.ToInt32(fila.ItemArray[0].ToString());
            funcion.descripcion = fila.ItemArray[1].ToString();
            return funcion;
        }

    }
}
